#include "mywidget.h"
#include "ui_mywidget.h"
#include <QDialog>

MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWidget)
{
    ui->setupUi(this);
    //创建一个对话框，并设置它的父窗口为MyWidget，就是那个this参数
    QDialog dialog(this);
    //调用show函数让其显示，这时候会发现会一闪而过，是因为局部变量会直接自动释放
    dialog.show();

    //这种创建方式就不会像上面那样一闪而过了,是因为开辟了内存空间，定义了一个QDialog对象，
    //而且因为这里只指定了父窗口，所以就不用delete来释放该对象了
    QDialog *dialog1 = new QDialog(this);
    dialog1->show();

    //其实不用对相也能使对话框显示出来，看下面的代码
    //这种需要关闭对话框之后才会出现窗口，这种称为模态对话框(没有关闭之前无法与其他窗口进行交互)，
    //上面的称为非模态对话框(没有关闭之前可以与其他窗口进行交互)
    QDialog dialog2(this);
    dialog2.exec();

    //使用exec就是模态对话框，但是new的show出来也可以是模态对话框，但是需要setModal
    QDialog *dialog3 = new QDialog(this);
    dialog3->setModal(true);
    dialog3->show();
}

MyWidget::~MyWidget()
{
    delete ui;
}
